module(..., package.seeall)

require"audio"

function sdCardTask()
    sys.wait(5000)
    --挂载SD卡,返回值0表示失败，1表示成功
    io.mount(io.SDCARD)
    
    
    --第一个参数1表示sd卡
    --第二个参数1表示返回的总空间单位为KB
    local sdCardTotalSize = rtos.get_fs_total_size(1,1)
    log.info("sd card total size "..sdCardTotalSize.." KB")

    --第一个参数1表示sd卡
    --第二个参数1表示返回的总空间单位为KB
    local sdCardFreeSize = rtos.get_fs_free_size(1,1)
    log.info("sd card free size "..sdCardFreeSize.." KB")


    --遍历读取sd卡根目录下的最多10个文件或者文件夹
    if io.opendir("/sdcard0") then
        for i=1,10 do
            local fType,fName,fSize = io.readdir()
            if fType==32 then
                log.info("sd card file",fName,fSize)
            elseif fType == nil then
                break
            end
        end
        io.closedir("/sdcard0")
    end

    --向sd卡根目录下写入一个pwron.mp3
    --io.writeFile("/sdcard0/100047.mp3",io.readFile("/lua/100062.mp3"))
    --io.writeFile("/sdcard0/100062.mp3",io.readFile("/lua/100062.mp3"))
    io.writeFile("/sdcard0/100092.mp3",io.readFile("/lua/100062.mp3"))
    --播放sd卡根目录下的pwron.mp3
    --io.
    --os.remove("/sdcard0/bdba1.mp3")

     --第一个参数1表示sd卡
    --第二个参数1表示返回的总空间单位为KB
    local sdCardFreeSize = rtos.get_fs_free_size(1,1)
    log.info("sd card free size "..sdCardFreeSize.." KB")

    --遍历读取sd卡根目录下的最多10个文件或者文件夹
    if io.opendir("/sdcard0") then
        for i=1,12 do
            local fType,fName,fSize = io.readdir()
            if fType==32 then
                log.info("sd card file",fName,fSize)
            elseif fType == nil then
                break
            end
        end
        io.closedir("/sdcard0")
    end
    --audio.play(0,"FILE","/sdcard0/bdba2.mp3",audiocore.VOL4,function() sys.publish("AUDIO_PLAY_END") end)
    --sys.waitUntil("AUDIO_PLAY_END")

    --卸载SD卡，返回值0表示失败，1表示成功
    io.unmount(io.SDCARD)
end

function sdCardTask1()
    while true do    
   
        sys.wait(5000)
        --1
        --挂载SD卡,返回值0表示失败，1表示成功
        io.mount(io.SDCARD)

        --遍历读取sd卡根目录下的最多12个文件或者文件夹
        -- if io.opendir("/sdcard0") then
        --     for i=1,12 do
        --         local fType,fName,fSize = io.readdir()
        --         if fType==32 then
        --             log.info("sd card file",fName,fSize)
        --         elseif fType == nil then
        --             break
        --         end
        --     end
        --     io.closedir("/sdcard0")
        -- end
        audio.play(3,"TTS","[f2]".."播放1",2)
        sys.wait(2000)
        --第一个参数1表示sd卡
        --第二个参数1表示返回的总空间单位为KB
        local sdCardTotalSize = rtos.get_fs_total_size(1,1)
        log.info("sd card total size "..sdCardTotalSize.." KB")
            
        local filesize = io.fileSize("/sdcard0/100092.mp3")
        log.info("filesize",filesize)
        audio.setStrategy(1)
        if filesize == 0 then 
            audio.play(3,"TTS","[f2]".."挂载错误1",2)
            sys.wait(2000)
        else  
            audio.play(0,"FILE","/sdcard0/100092.mp3",2,function() sys.publish("AUDIO_PLAY_END") end)
            sys.waitUntil("AUDIO_PLAY_END")
        end
        --卸载SD卡，返回值0表示失败，1表示成功
        io.unmount(io.SDCARD)

        --2
        --挂载SD卡,返回值0表示失败，1表示成功
        io.mount(io.SDCARD)

        audio.play(3,"TTS","[f2]".."播放2",2)
        sys.wait(2000)
        --第一个参数1表示sd卡
        --第二个参数1表示返回的总空间单位为KB
        local sdCardTotalSize = rtos.get_fs_total_size(1,1)
        log.info("sd card total size "..sdCardTotalSize.." KB")
            
        local filesize = io.fileSize("/sdcard0/100092.mp3")
        log.info("filesize",filesize)
        audio.setStrategy(1)
        if filesize == 0 then 
            audio.play(3,"TTS","[f2]".."挂载错误2",2)
            sys.wait(2000)
        else  
            audio.play(0,"FILE","/sdcard0/100092.mp3",2,function() sys.publish("AUDIO_PLAY_END") end)
            sys.waitUntil("AUDIO_PLAY_END")
        end
        --卸载SD卡，返回值0表示失败，1表示成功
        io.unmount(io.SDCARD)

        --3
        --挂载SD卡,返回值0表示失败，1表示成功
        io.mount(io.SDCARD)
        audio.play(3,"TTS","[f2]".."播放3",2)
        sys.wait(2000)
        --第一个参数1表示sd卡
        --第二个参数1表示返回的总空间单位为KB
        local sdCardTotalSize = rtos.get_fs_total_size(1,1)
        log.info("sd card total size "..sdCardTotalSize.." KB")
            
        local filesize = io.fileSize("/sdcard0/100092.mp3")
        log.info("filesize",filesize)
        audio.setStrategy(1)
        if filesize == 0 then 
            audio.play(3,"TTS","[f2]".."挂载错误3",2)
            sys.wait(2000)
        else  
            audio.play(0,"FILE","/sdcard0/100092.mp3",2,function() sys.publish("AUDIO_PLAY_END") end)
            sys.waitUntil("AUDIO_PLAY_END")
        end 
        --卸载SD卡，返回值0表示失败，1表示成功
        io.unmount(io.SDCARD)

        --4
        --挂载SD卡,返回值0表示失败，1表示成功
        io.mount(io.SDCARD)

        audio.play(3,"TTS","[f2]".."播放4",2)
        sys.wait(2000)
        --第一个参数1表示sd卡
        --第二个参数1表示返回的总空间单位为KB
        local sdCardTotalSize = rtos.get_fs_total_size(1,1)
        log.info("sd card total size "..sdCardTotalSize.." KB")
            
        local filesize = io.fileSize("/sdcard0/100092.mp3")
        log.info("filesize",filesize)
        audio.setStrategy(1)
        if filesize == 0 then 
            audio.play(3,"TTS","[f2]".."挂载错误4",2)
            sys.wait(2000)
        else  
            audio.play(0,"FILE","/sdcard0/100092.mp3",2,function() sys.publish("AUDIO_PLAY_END") end)
            sys.waitUntil("AUDIO_PLAY_END")
        end
        --卸载SD卡，返回值0表示失败，1表示成功
        io.unmount(io.SDCARD)

        --5
        --挂载SD卡,返回值0表示失败，1表示成功
        io.mount(io.SDCARD)

        audio.play(3,"TTS","[f2]".."播放5",2)
        sys.wait(2000)
        --第一个参数1表示sd卡
        --第二个参数1表示返回的总空间单位为KB
        local sdCardTotalSize = rtos.get_fs_total_size(1,1)
        log.info("sd card total size "..sdCardTotalSize.." KB")
            
        local filesize = io.fileSize("/sdcard0/100092.mp3")
        log.info("filesize",filesize)
        audio.setStrategy(1)
        if filesize == 0 then 
            audio.play(3,"TTS","[f2]".."挂载错误5",2)
            sys.wait(2000)
        else  
            audio.play(0,"FILE","/sdcard0/100092.mp3",2,function() sys.publish("AUDIO_PLAY_END") end)
            sys.waitUntil("AUDIO_PLAY_END")
        end
        --卸载SD卡，返回值0表示失败，1表示成功
        io.unmount(io.SDCARD)

        --6
        --挂载SD卡,返回值0表示失败，1表示成功
        io.mount(io.SDCARD)

        audio.play(3,"TTS","[f2]".."播放6",2)
        sys.wait(2000)
        --第一个参数1表示sd卡
        --第二个参数1表示返回的总空间单位为KB
        local sdCardTotalSize = rtos.get_fs_total_size(1,1)
        log.info("sd card total size "..sdCardTotalSize.." KB")
            
        local filesize = io.fileSize("/sdcard0/100092.mp3")
        log.info("filesize",filesize)
        audio.setStrategy(1)
        if filesize == 0 then 
            audio.play(3,"TTS","[f2]".."挂载错误6",2)
            sys.wait(2000)
        else  
            audio.play(0,"FILE","/sdcard0/100092.mp3",2,function() sys.publish("AUDIO_PLAY_END") end)
            sys.waitUntil("AUDIO_PLAY_END")
        end
        --卸载SD卡，返回值0表示失败，1表示成功
        io.unmount(io.SDCARD)
    end
end

--先下载 再播放，下载只需运行一次
--下载音频
--sys.taskInit(sdCardTask)
--播放音频
sys.taskInit(sdCardTask1)


